package com.lanyu.community.api.service;


import java.util.List;
import java.util.Map;
import java.util.Set;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lanyu.community.api.beans.ZanlistParams;
import com.lanyu.community.api.util.*;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lanyu.mybatis.dao.entity.CommunityUserChat;
import com.lanyu.mybatis.dao.entity.CommunityUserDiscuss;
import com.lanyu.mybatis.dao.entity.CommunityUserDynamics;
import com.lanyu.mybatis.dao.entity.UcenterUserinfo;

/**
 * <p>
 * 动态 逻辑
 * </p>
 *
 * @Author suibin
 * @since 2018-12-20
 */
public interface ICommunityDynamicService extends IService<CommunityUserDynamics> {
	//点赞
	public int upzan(String uid,String did);
	
	//添加关注
	
	public int follow(String from_uid,String to_uid);

	//取消关注
	
	public int unfollow(String from_uid,String to_uid);
	
	//删除动态
	
	public int delDt(String uid,String did);

	//撤回聊天

	public int delChat(String chat_id);

	//发布动态
	public String publishDt(CommunityUserDynamics cud);

	//获取单个用户信息
	public UcenterUserinfo getUserinfo(String uid);

	//获取关注用户信息列表
	public Page<UcenterUserinfo> getFollowUserinfos(Page<UcenterUserinfo> page,String uid);

	//获取粉丝用户信息列表
	public Page<UcenterUserinfo> getFensiUserinfos(Page<UcenterUserinfo> page, Map<String, Object> m);
	//获取点赞列表
	public Page<ZanlistParams> getZanlist(Page<ZanlistParams> page,String did);
	
	//获取最近7天动态列表
	public Page<CommunityUserDynamics> getCommunityDynamicsLatestweek(Page<CommunityUserDynamics> page,Map<String,Object> m);

	//获取最近7天关注的动态列表
	public Page<CommunityUserDynamics> getCommunityGuanzhuDynamicsLatestweek(Page<CommunityUserDynamics> page,Map<String,Object> m);

	//发布聊天
	public String publishChat(CommunityUserChat cuc);

	//我的聊天记录列表
	public Page<CommunityUserChat> getCommunityChatList(Page<CommunityUserChat> page, Map<String,Object> m);

	//我的聊天人员列表
	public Page<CommunityUserChat> getCommunityChatPersonList(Page<CommunityUserChat> page, Map<String,Object> m);

	//获取用户的动态列表
	public Page<CommunityUserDynamics> getCommunityDynamicsByParams(Page<CommunityUserDynamics> page,Map<String,Object> m);


	//删除评论
	public int delDiscuss(String discId,String uid);

	//发布评论
	public String addDiscuss(CommunityUserDiscuss cud);

	//获取关注用户信息列表
	public Page<CommunityUserDiscuss> getDiscussList(Page<CommunityUserDiscuss> page ,Map<String,Object> m);

}
